<template>
  <div>

    <div class="banner" @click="handleBannerClick">
      <img class="banner-img"
           :src="detail.bannerImg"/>
      <div class="banner-info">
        <div class="banner-title">{{detail.sightName}}</div>
        <div class="banner-number"><span class="iconfont banner-icon">&#xe692;</span>{{gallaryImgsLength}}</div>
      </div>
    </div>
    <fade-animation>
      <common-gallary :imgs="detail.gallaryImgs" v-show="showGallary" @close="hanldeGallaryClose"></common-gallary>
    </fade-animation>
  </div>

</template>

<script>
  import CommonGallary from 'common/gallary/Gallary'
  import FadeAnimation from 'common/fadeanimation/Fade'

  export default {
    name: 'DetailBanner',
    props: {
      detail: Object
    },
    data: function () {
      return {
        showGallary: false
      }
    },
    components: {
      CommonGallary,
      FadeAnimation
    },
    methods: {
      handleBannerClick: function () {
        this.showGallary = true
      },
      hanldeGallaryClose: function () {
        this.showGallary = false
      }
    },
    computed: {
      gallaryImgsLength: function () {
        if (this.detail.gallaryImgs) {
          return this.detail.gallaryImgs.length
        } else {
          return 0
        }
      }
    }
  }
</script>

<style lang="stylus" scoped>
  .banner {
    position: relative
    overflow hidden
    height 0
    padding-bottom 55%
  }

  .banner-img {
    width 100%
  }

  .banner-info {
    display flex
    position absolute
    left: 0
    right 0
    bottom 0
    line-height .6rem
    color white
    background-image linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.8))
  }

  .banner-title {
    flex 1
    font-size .32rem
    padding 0 .2rem
  }

  .banner-number {
    margin-top .14rem
    padding 0 .4rem
    line-height .32rem
    height .32rem
    border-radius .2rem
    background #25a4bb
    font-size .24rem
  }

  .banner-icon {
    font-size .24rem
  }
</style>
